home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’95 / Newt-A-Note & Suck-A-Note 1.0 / Newt-A-Note / Comms.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-06-24  |  1.5 KB  |  66 lines  |  [TEXT/MMCC]

  1. #include <StandardFile.h>
  2. #include <Connections.h>
  3.  
  4. #include "DSGlobals.h"
  5. #include "DSUserProcs.h"
  6. #include "LlamaTalk.h"
  7.  
  8. OSErr                gErr = noErr;
  9. short                gSocket = 0;
  10. LTGlobalsHdl        gLlamaTalkGlobals = nil;
  11. Handle                gSocketConfigHdl = nil;
  12. Handle                gSocketAddressHdl = nil;
  13. Str255                gToolName = "\pApple Modem Tool";
  14. LTSocketStatusRec    gSocketStatus;
  15. Handle                gInDataHdl;
  16. Handle                gOutDataHdl;
  17.  
  18.  
  19.  
  20. // *********
  21. void MOpenComms()
  22. {
  23.     OSErr    error = noErr;
  24.     Handle    socketConfigHdl = nil;
  25.     Boolean connected;
  26.     Boolean abort;
  27.     short    state;
  28.  
  29.     
  30.     gErr = LTOpenLlamaTalk(1, &gLlamaTalkGlobals);
  31.     
  32.     gSocketAddressHdl = GetNamedResource('LAMA', "\pMNP Address");
  33.     gSocketConfigHdl = GetNamedResource('LAMA', "\pMNP Configuration");
  34.     if (gSocketConfigHdl == nil)
  35.        if (LTChoose(&gToolName, &gSocketConfigHdl))
  36.                ;
  37.     
  38.     if (gSocketConfigHdl != nil)
  39.         {
  40.             gErr = LTNewSocket(gLlamaTalkGlobals, gToolName, gSocketConfigHdl, gSocketAddressHdl, 10, 10, &gSocket);
  41.             if (gErr == noErr)
  42.                 LTListen(gLlamaTalkGlobals, gSocket);
  43.             else
  44.                 DebugStr("\pError from LTNewSocket");
  45.         }
  46.  
  47.     connected = FALSE;
  48.     while ( ( !connected ) && ( !gDone ) ) {
  49.         LTIdle(gLlamaTalkGlobals);
  50.         state = LTGetSocketState(gLlamaTalkGlobals, gSocket);
  51.         if ( (state == cLTStateError) || ( isPressed(0x2F) && isPressed(0x37) ) )
  52.             gDone = TRUE;
  53.         if (state == cLTStateReadWrite)
  54.             connected = TRUE;
  55.     }
  56. }
  57.  
  58. void MCloseComms()
  59. {
  60.     short i;
  61.     for (i=0;i<32;i++)
  62.         LTIdle(gLlamaTalkGlobals);
  63.  
  64.     LTCloseLlamaTalk(gLlamaTalkGlobals);
  65. }
  66.